// axios.post('http://localhost:8888/api/private/v1/login', this.loginForm)
import axios from 'axios'

// 设置请求拦截，作用是会先将所有的请求拦截下来，做一些处理，处理完了之后再把请求发送出去
axios.interceptors.request.use(function (config) {
  // config表示请求对象
  // 将token塞到请求头中
  // console.log(config)
  // 获取token
  let mytoken = localStorage.getItem('mytoken')
  // console.log(mytoken)
  if (mytoken) {
    // 注意这个请求不能随便写，得看后台约定的字段名叫什么，此处我们预定的字段为Authorization
    config.headers.Authorization = mytoken
  }
  // 请求对象必须要return回去
  return config
}, function (error) {
  return Promise.reject(error)
})

// 设置基准路劲，目的是为了给所有的请求加上基准路劲，比如下面的登录，会自动拼接成xxx
axios.defaults.baseURL = '/api/private/v1'

// 当箭头函数的执行体里面只有一句话的时候，可以省略花括号个return
export const login = obj => axios.post('login', obj)

// 用户列表数据获取
export const getUsers = obj => axios.get('users', { params: obj })

// 修改用户状态
export const changeUserState = (uid, type) => axios.put(`users/${uid}/state/${type}`)

// 添加用户
export const addUsers = obj => axios.post('users', obj)

// 编辑用户
export const editUsers = (obj) => axios.put(`users/${obj.id}`, obj)

// 删除用户
export const deleteUsers = id => axios.delete(`users/${id}`)

// 获取角色列表
export const getRoleList = () => axios.get('roles')

// 分配用户角色
export const allotUserRole = (id, rid) => axios.put(`users/${id}/role`, { rid })

// 获取权限列表
export const getPowerList = (type) => axios.get(`rights/${type}`)

// 删除角色指定权限
export const deleteRolePower = (roleid, rightid) => axios.delete(`roles/${roleid}/rights/${rightid}`)

// 角色授权
export const postRoles = (roleId, rids) => axios.post(`roles/${roleId}/rights`, { rids: rids })

// 左侧菜单
export const getMenus = () => axios.get('menus')

// 商品数据列表
export const goodsDataList = (type, pagesize, pagenum) => axios.get('categories', { params: { type: type, pagesize: pagesize, pagenum: pagenum } })

// 添加分类
export const addSort = obj => axios.post('categories', obj)
